import {
  initMixin
} from './init';
import {
  lifecycleMixin
} from './lifecycle';
import {
  renderMixin
} from './vdom/index';

//此构造函数会作为参数传入到initMixin函数里
function Vue(options) {
  //插件化模式
  //此写法将代码剥离出来到init.js文件里
  this._init(options);
}

//把各种init混入到里面
initMixin(Vue);

//在lifecycleMixin执行完后就产生很多的生命周期函数
lifecycleMixin(Vue);

//管理所有vdom底下的render函数
renderMixin(Vue);

export default Vue;